Problem 1
Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" ViewStateEncryptionMode="Always"%>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Counter</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="lblCount" runat="server" Text="Counter: 0" />
<input type="button" id="increment" runat="server" onserverclick="Increment_Click" value="Increment" />
</div>
</form>
</body>
</html>
Default.aspx.vb
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Increment_Click(ByVal sender As Object, ByVal e As EventArgs) Handles increment.serverclick
Dim Counter As Integer
If ViewState("Counter") Is Nothing Then
Counter = 1
Else
Counter = CType(ViewState("Counter"), Integer) + 1
End If
ViewState("Counter") = Counter
lblCount.Text = "Counter: " & Counter.ToString()
End Sub
End Class
Problem 3
Default2.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default_2.aspx.vb" Inherits="_Default_2" %>
<!DOCTYPE html>
<html xmlns = "http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Customer ViewState Example</title>
</head>
<body>
<form id = "form1" runat="server">
<div>
<ASP:Button ID = "btnRetrieve" runat="server" Text="Retrieve Customers" OnClick="btnRetrieve_Click" />
</div>
</form>
</body>
</html>
Default2.aspx.vb
Partial Class _Default_2
Inherits System.Web.UI.Page
Public Class Customer
Private _firstName As String
Public Property FirstName() As String
Get
Return _firstName
End Get
Set(ByVal value As String)
_firstName = value
End Set
End Property
Private _lastName As String
Public Property LastName() As String
Get
Return _lastName
End Get
Set(ByVal value As String)
_lastName = value
End Set
End Property
Public Sub New(ByVal firstName As String, ByVal lastName As String)
Me.FirstName = firstName
Me.LastName = lastName
End Sub
End Class
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim customers As New List(Of Customer) From {
New Customer("Ali ", "Raza"),
New Customer("Haider", "Khan"),
New Customer("Mohsin", "Khan")
}
ViewState("Customers") = customers
End If
End Sub
Protected Sub btnRetrieve_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnRetrieve.Click
Response.Clear()
Dim customers As List(Of Customer) = CType(ViewState("Customers"), List(Of Customer))
If customers IsNot Nothing Then
For Each customer As Customer In customers
Response.Write("First Name: " & customer.FirstName & ", Last Name: " & customer.LastName & "
")
Next
End If
End Sub
End Class